1. Field of the Invention
The present invention relates to a system and method for enabling a node, such as a mobile user terminal in a wireless communications network, to determine a clock correction factor for its local clock relative to a local clock of at least one other node, as well as a signal propagation time between the node and the other node, based on the timing of signals transmitted between the node and the other node, and clock information received from the other node, so that the node can use the clock correction factor when calculating its distance to the other node. More particularly, the present invention relates to a system and method for enabling nodes in an ad-hoc packet-switched communications network to calculate their respective local clock correction factors relative to the local clocks of their neighboring nodes with minimal message transmissions between the nodes, to reduce the amount of overhead in the network needed for such clock correcting operations.
2. Description of the Related Art
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed for use by the military. In this type of network, each user terminal (hereinafter “mobile node”) is capable of operating as a base station or router for the other mobile nodes, thus eliminating the need for a fixed infrastructure of base stations. Accordingly, data packets being sent from a source mobile node to a destination mobile node are typically routed through a number of intermediate mobile nodes before reaching the destination mobile node. Details of an ad-hoc network are set forth in U.S. Pat. No. 5,943,322 to Mayor, the entire content of which is incorporated herein by reference.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in a conventional ad-hoc network, further enable the mobile nodes to access a fixed network and thus communicate with other mobile nodes, such as those on the public switched telephone network (PSTN), and on other networks such as the Internet. Details of these advanced types of ad-hoc networks are described in U.S. Pat. No. 7,072,650 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, issued on Jul. 4, 2006, in U.S. Pat. No. 6,807,165 entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, issued on Oct. 19, 2004, and in U.S. Pat. No. 6,873,839 entitled “Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System”, issued on Mar. 29, 2005, the entire content of each being incorporated herein by reference.
In ad-hoc wireless communications networks, it may be necessary or desirable for a mobile node to be capable of knowing or determining its geographic location. Some techniques determine the location of a mobile node based on the distances of the mobile node to other nodes in the network. These distances can be computed based on the propagation times of radio signals from the node to the other nodes. However, since each mobile node has a local clock that is not necessarily in synchronization with the local clocks running on other nodes in the network, the propagation times for signals propagating between the node and the other nodes cannot typically be measured directly.
Furthermore, in these types of ad-hoc networks, the nodes can communicate data packets with each other in a time division multiple access (TDMA) manner. Specifically, the nodes can transmit data packets during intervals referred to as time slices, which can be grouped in time frames as can be appreciated by one skilled in the art. However, differences in the local clock times of neighboring nodes can result in multiple nodes attempting to transmit data packets during the same time slice, which can result in collisions between the data packets and thus, data packets can possibly be lost. Also, although the local clocks of certain nodes may at one time be synchronized, a phenomenon known as clock drift can occur which can cause the local clock of a node to become unsynchronized with the local clocks of neighboring nodes.
For the reasons discussed above, it is therefore desirable for the local clocks of neighboring nodes in a network to know the amount by which the timing of their clocks differ each other, so that the nodes can apply the appropriate clock correction when determining the signal propagation times. However, in a large network having many nodes, it can be burdensome from both a time and bandwidth resource standpoint for a node to determine the appropriate clock corrections relative to the local clocks of all of its neighboring nodes.
Accordingly, a need exists for a system and method which enables a node in a communications network to determine the clock corrections for its local clock relative to the local clocks of all of its neighboring nodes without unduly burdening the network.